The invention generally relates networks and, more particularly, the invention relates to translating a message from a first transmission protocol to a second transmission protocol.
In today""s information age, data communication networks are becoming more pervasive as an ever-increasing number of communication consumers require access to on-line computer resources. To that end, many data communication networks are evolving to meet the needs of these communication consumers. As these data communication networks evolve, it often becomes necessary to combine or integrate network segments that support different communication/transmission protocols.
One well-known communication protocol in widespread use is the X.25 protocol (i.e., a packet based protocol). The X.25 protocol defines the physical, link, and network layer protocols (layers one, two, and three) of the International Standards Organization (xe2x80x9cISOxe2x80x9d) seven-layer protocol model. In a communication network that utilizes the X.25 protocol (referred to herein as an xe2x80x9cX.25 networkxe2x80x9d), two devices (referred to herein as an xe2x80x9cX.25 devicexe2x80x9d or xe2x80x9cX.25 devicesxe2x80x9d) exchange X.25 data packets over a virtual circuit that is established across the X.25 network. One type of virtual circuit commonly used in the X.25 network is a permanent virtual circuit (xe2x80x9cPVCxe2x80x9d). A PVC is a virtual circuit that is set up automatically within the X.25 network and remains active as long as the X.25 network is operative. Unlike a PVC, a switched virtual circuit (xe2x80x9cSVCxe2x80x9d) is set up only when explicitly requested by an X.25 device. Typical X.25 networks support both permanent and switched multiple virtual circuits. As is known in the art, a data message typically is encapsulated within an X.25 transmission envelope for transmission via the PVC or SVC.
Another well-known communication protocol in widespread use is the Transmission Control Protocol (xe2x80x9cTCPxe2x80x9d, a stream based protocol). TCP is a connection-oriented transport layer protocol that is generally used in conjunction with a connectionless network layer protocol known as the Internet Protocol (xe2x80x9cIPxe2x80x9d). In a communication network that utilizes the TCP protocol (referred to herein as a xe2x80x9cTCP/IP networkxe2x80x9d), two devices (referred to herein as a xe2x80x9cTCP devicexe2x80x9d or xe2x80x9cTCP devicesxe2x80x9d) exchange TCP data segments over a TCP connection that is established across the TCP/IP network. In order to set up the TCP connection within the TCP/IP network, one TCP device transmits a specially formatted message (referred to herein as a xe2x80x9cTCP SYN messagexe2x80x9d) that includes, among other things, an IP address identifying the destination TCP device and a TCP port number identifying one of a number of applications supported by the destination TCP device. The combination of IP address and TCP port number is referred to herein as a xe2x80x9csocket.xe2x80x9d Because the TCP connection is set up only when explicitly requested by a TCP device, the TCP connection is considered to be a switched connection and thus, is not considered to be a permanent connection. As is known in the art, a message is transmitted via the TCP protocol by means of a TCP segment.
Because both the X.25 protocol and the TCP protocol are in widespread use, it has become desirable for X.25 devices to communicate with TCP devices in certain data communication networks. Undesirably, the X.25 protocol is sufficiently different from the TCP protocol that X.25 devices cannot inherently communicate with TCP devices.
In accordance with one aspect of the invention, an apparatus for translating a message (having message data) from a first transmission protocol to a second transmission protocol appends a length datum field to message data within a second protocol envelope that is used to transport the message in accord with the second transmission protocol. To that end, the apparatus first receives the message data from the first protocol, and then calculates the length of the received message data within the envelope. A length datum then is appended to the message data to produce a revised message. The length datum indicates the calculated length of the message data. Once produced, the revised message is directed to the second protocol for transmission in the second protocol.
In some embodiments, the first protocol is utilized by a first protocol interface that interfaces the apparatus with a first protocol network. In a similar manner, in some embodiments, the second protocol is utilized by a second protocol interface that interfaces the apparatus with a second protocol network. In preferred embodiments, the first network protocol is a stream based protocol (e.g., TCP) while the second network protocol is a packet based protocol (e.g., X.25). In other embodiments, the first network protocol is packet based while the second network protocol is stream based.
In other embodiments, the apparatus determines if more message data is to be received in the first protocol. A more datum then is appended to the received message data if more message data is to be received in the first protocol. The more datum indicates that more message data is to be received in the first protocol.
In accordance with another aspect of the invention, an apparatus for translating from a first network protocol to a second network protocol receives a message in the first protocol. The message has message data and an appended length datum indicating the length of the message data. The length datum preferably is appended directly to the message data. The length datum then is utilized to form the message data. The formed message then is directed to the second protocol for transmission in the second protocol.
In yet other embodiments, the received message also includes a more datum field indicating if additional message data is to be received in the first protocol to complete the message. When such a message is received, the more field is set in the second protocol if the more datum is set to indicate that additional message data is to be received in the first protocol to complete the message.